#!/bin/bash

################################################################################
#                                 compile.sh                                   #
#                                 ----------                                   #
#                             КОМПИЛИРУЕТ VIVIEN2                              #
#                              Alexei V. Samsonov                              #
#                                  15.09.2009                                  #
#                                                                              #
#                                                                              #
#                                                                              #
################################################################################



# ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
# =====================

# Каталог проекта.
PROJECT_DIR="/home/avs/projects/vivien2"
# Каталог исходных файлов.
SOURCE_DIR="$PROJECT_DIR/include"
# Каталог бинарных файлов.
OUT_DIR="$PROJECT_DIR/bin"
# Каталог документации.
DOC_DIR="$PROJECT_DIR/doc"
# Каталог тестового сайта.
WWW_DIR="$PROJECT_DIR/www"
# Папка cgi-bin тестового сайта.
CGI_DIR="$WWW_DIR/cgi-bin"

# Имя выходного бинарного файла.
OUT_FILENAME="vivien2"
# Список компилируемых исходников.
D_FILES="document.d vivien2.d environment.d logger.d config.d parser.d \
obj/constant.d obj/macros.d"






# КОМПИЛЯЦИЯ
# ==========



# Компиляция и юниттесты.
# -----------------------
cd $SOURCE_DIR

# Для GDC:
#gdc -funittest -o "$OUT_DIR/$OUT_FILENAME" $D_FILES

# Для DMD:
dmd -unittest $D_FILES  -of"$OUT_DIR/$OUT_FILENAME"



# Эмулируем переменные окружения веб-сервера.
export PATH_TRANSLATED="$WWW_DIR/html/index.htm"
export DOCUMENT_ROOT="$WWW_DIR/html"

# Выполняем бинарник.
cd $OUT_DIR
$OUT_DIR/$OUT_FILENAME




# Компиляция и помещение бинарника на тестовый сервер.
# ----------------------------------------------------
cd $SOURCE_DIR

# Для GDC:
#gdc -o "$OUT_DIR/$OUT_FILENAME" -fdoc-dir="$DOC_DIR" -fdoc $D_FILES

# Для DMD:
dmd $D_FILES  -of"$OUT_DIR/$OUT_FILENAME" -D -Dd"$DOC_DIR"

cp "$OUT_DIR/$OUT_FILENAME" "$CGI_DIR"

